자바와 자바스크립트의 관계
- 2021-12-06 (modified: 2025-07-26)
- 저자: AK
자바랑 자바스크립트는 정말로 인도랑 인도네시아만큼이나 서로 아무 상관이 없을까? 생각해보면 이 두 언어는 생각보다 관련이 많다.
1990년대 초중반, 넷스케이프 내비게이터에 넣을 언어로 자바와 스킴을 고려하고 있었다. 만약 스킴이 탑재됐다면 함수형 언어가 크게 대중화될 뻔 했다. 그런데 스킴 대신 “자바 비슷한” 스크립트 언어를 새로 만들자는 식으로 방향이 바뀌었고 그 결과 자바랑 비슷한 문법을 가진 모카라는 언어가 탄생한다(난 이건 구경 못해봤다). 모카는 곧 라이브스크립트(LiveScript)로 이름을 바꾸었다가 자바가 유명해지자 자바스크립트로 이름을 다시 바꾼다.
자바스크립트는 자바의 문법 뿐 아니라 JDK 1.0의 일부 API를 거의 그대로 가져오기도 했다(예를 들면 자바의 java.util.Date
클래스. 할많하않). 브라우저에서 자바가 잘 실행되던 시절(자바 애플릿 안녕?)이 있었는데, “LiveConnect”라는 기술을 통해 자바-자바스크립트 간 양방향 호출도 됐더랬다.
자바로 구현한 자바스크립트 엔진인 Rhino는 무려 1997년부터 존재했고 노드.js가 있기 전 서버 측에서 자바스크립트를 실행하기 위한 그럭저럭 괜찮은 솔루션 중 하나였다. 나는 2000년대 중반 즈음 Rhino를 알게 되었는데, 간혹 유용하게 써먹었던 기억이 난다. 그 전까지는 마이크로소프트의 JS 구현인 JScript가 서버측 자바스크립트를 실행하는 (아마도) 가장 안정적인 플랫폼이었던 것 같다. (Windows Scripting Host 안녕? IIS 안녕?)
이런저런 의미에서 두 언어는 서로 제법 관련이 많다.